import { CustomTextLength } from '../validatorClass/CustomTextLength'
import { IsNotEmpty, IsString, Length, Validate } from 'class-validator'
export class SigninUserDto {
  @IsNotEmpty({ message: '该用户名不能为空' }) //是不为空的
  @IsString({ message: '请输入字符串类型的数据' })
  @Length(
    6,
    20,
    //您可以在装饰器选项中指定验证消息，
    {
      //  $value- 正在验证的值
      // $property- 正在验证的对象名
      // $target- 正在验证的对象类名
      // $constraint1， ， ... -
      message: `用户名的长度必须在$constraint1到$constraint2之间`
    }
  )
  username: string

  @IsString({ message: '请输入字符串类型的数据' })
  @IsNotEmpty({ message: `该密码不能为空` })
  // @Length(6, 20, {
  //   message: `密码长度必须在$constraint1到$constraint2之间`
  // })
  /* @Validate():会接受一个验证器类作为参数，
    参数1：验证名，
    参数2：验证参数(传递自定义验证器的方法参数), 
    参数3是个对象：验证选项，如自定义的错误消息 */
  @Validate(CustomTextLength, [6, 20])
  password: string
}
